home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / osi / isode / dosisode / DOSISODE80.ZIP / ISODE8.WRK / H / INTERNET.H_N < prev    next >
Encoding:
Text File  |  1992-06-27  |  4.1 KB  |  191 lines

  1. /* internet.h - TCP/IP abstractions */
  2.  
  3. /* 
  4.  * $Header: /xtel/isode/isode/h/RCS/internet.h,v 9.0 1992/06/16 12:17:57 isode Rel $
  5.  *
  6.  *
  7.  * $Log: internet.h,v $
  8.  * Revision 9.0  1992/06/16  12:17:57  isode
  9.  * Release 8.0
  10.  *
  11.  */
  12.  
  13. /*
  14.  *                  NOTICE
  15.  *
  16.  *    Acquisition, use, and distribution of this module and related
  17.  *    materials are subject to the restrictions of a license agreement.
  18.  *    Consult the Preface in the User's Manual for the full terms of
  19.  *    this agreement.
  20.  *
  21.  */
  22.  
  23.  
  24. #ifndef    _INTERNET_
  25. #define    _INTERNET_
  26.  
  27. #ifndef    _MANIFEST_
  28. #include "manifest.h"
  29. #endif
  30.  
  31. /*     SOCKETS */
  32.  
  33. #include <sys/socket.h>
  34.  
  35. #ifndef    SOMAXCONN
  36. #define    SOMAXCONN    5
  37. #endif
  38.  
  39. #if    defined(WIN) || defined(WINTLI)
  40. #include "sys/in.h"
  41. #else
  42.  
  43. #ifdef SVR4    /* Has a different defn for NULLVP */
  44. #ifdef NULLVP 
  45. #undef NULLVP
  46. #endif
  47. #endif /* SVR4 */
  48. #include <netinet/in.h>
  49. #ifdef SVR4    /* Put back the ISODE defn */
  50. #ifdef NULLVP
  51. #undef NULLVP
  52. #endif
  53. #define NULLVP ((char **) 0)
  54. #endif /* SVR4 */
  55.  
  56. #endif /* defined(WIN) || defined(WINTLI) */
  57.  
  58. int    start_tcp_client ();
  59. int    start_tcp_server ();
  60.  
  61. #if defined(SOCKETS) && !defined(TLI_TCP)
  62. int    join_tcp_client ();
  63. int    join_tcp_server ();
  64. #define    read_tcp_socket        read
  65. #define    write_tcp_socket    write
  66. #define    select_tcp_socket    selsocket
  67. #endif
  68.  
  69. #ifdef TLI_TCP
  70. int    join_tcp_client ();
  71. int    join_tcp_server ();
  72. int    read_tcp_socket ();
  73. int    write_tcp_socket ();
  74. int    close_tcp_socket ();
  75. #define    select_tcp_socket    selsocket
  76. #endif
  77.  
  78. #ifdef    WINTLI
  79. int    join_tcp_client ();
  80. int    join_tcp_server ();
  81.  
  82. #define    select_tcp_socket    selsocket
  83. #endif
  84.  
  85. #ifdef    EXOS
  86.  
  87. #ifdef    SYS5
  88. #define    join_tcp_client(s,f) \
  89.     (accept ((s), (struct sockaddr *) (f)) != NOTOK ? (s) : NOTOK)
  90. #define    join_tcp_server(s,t)    connect ((s), (struct sockaddr *) (t))
  91.  
  92. #define    read_tcp_socket        read
  93. #define    write_tcp_socket    write
  94. #define    close_tcp_socket    close
  95. #define    select_tcp_socket    selsocket
  96. #endif
  97. #endif
  98.  
  99. int    read_tcp_socket ();
  100. int    write_tcp_socket ();
  101. int    close_tcp_socket ();
  102.  
  103. int    select_tcp_socket ();
  104.  
  105. /*     UDP */
  106.  
  107. #ifdef    SOCKETS
  108. #ifndef    _DGRAM_
  109. #include "dgram.h"
  110. #endif
  111.  
  112. int    start_udp_server ();
  113. #define    start_udp_client    start_udp_server
  114.  
  115. #define    join_udp_server(fd,sock) \
  116.         join_dgram_aux ((fd), (struct sockaddr *) (sock), 0)
  117. #define    join_udp_client(fd,sock) \
  118.         join_dgram_aux ((fd), (struct sockaddr *) (sock), 1)
  119.  
  120. #define    read_udp_socket        read_dgram_socket
  121. #define    write_udp_socket    write_dgram_socket
  122. #define    close_udp_socket    close_dgram_socket
  123.  
  124. #define    select_udp_socket    select_dgram_socket
  125. #define    check_udp_socket    check_dgram_socket
  126. #endif
  127.  
  128. /*     NETDB */
  129.  
  130. #if    defined(SOCKETS) || defined (WINTLI) || defined (WIN)
  131. #if     defined(_AIX) && defined(n_name)    /* different def in nlist.h clashes with netdb.h */
  132. #undef n_name
  133. #endif
  134. #include <netdb.h>
  135. #if   defined(_AIX) && defined(SYS5)
  136. #define n_name          _n._n_name
  137. #endif
  138. #endif
  139.  
  140.  
  141. #if    defined(BIND) && !defined(h_addr)
  142. #define    h_addr    h_addr_list[0]
  143. #endif
  144.  
  145. #define    inaddr_copy(hp,sin) \
  146.     bcopy ((hp) -> h_addr, (char *) &((sin) -> sin_addr), (hp) -> h_length)
  147.  
  148.  
  149. #ifdef    EXOS
  150. struct hostent {
  151.     char   *h_name;        /* official name */
  152.     char  **h_aliases;        /* alias list */
  153.     int     h_addrtype;        /* address type: AF_INET */
  154.     int     h_length;        /* address length: sizeof (u_long) == 4 */
  155.     char   *h_addr;        /* address value: (struct in_addr *) */
  156. };
  157.  
  158. struct servent {
  159.     char   *s_name;        /* official name */
  160.     char  **s_aliases;        /* alias list */
  161.     int     s_port;        /* port number */
  162.     char   *s_proto;        /* protocol beneath service */
  163. };
  164.  
  165.  
  166. struct hostent *gethostbyaddr (), *gethostbyname ();
  167. struct servent *getservbyname ();
  168. #endif
  169.  
  170.  
  171. struct hostent *gethostbystring ();
  172.  
  173. /*     INET */
  174.  
  175. /* under BSD42, we could simply include <arpa/inet.h> instead.  However,
  176.    the definition of inet_addr contained therein causes problems with some
  177.    compilers. */
  178.  
  179. char   *inet_ntoa ();
  180. #ifndef    DG
  181. u_long    inet_addr ();
  182. #ifndef    HPUX
  183. u_long    inet_network ();
  184. #else
  185. int    inet_network ();
  186. #endif
  187. #else
  188. struct in_addr inet_addr (), inet_network ();
  189. #endif
  190. #endif
  191.